### Recommended Environment

The workflow and tooling were chosen with GNU/Linux in mind so you might find some inconvenience while using Windows and (not so much) Mac.

### Minimal skills to go through formalities (obtainable in 1 day)

* email cryptosigning
* git ssh access
* general git knowledge

*First two stem out of partly-closed source model.
This choice is debatable but currently project money-liable person is heavily against full open model despite obvious delays for new contributors.
I'm very sorry.*


-----



### How to contribute (layout and sch):

* Go to freenode IRC [#neo900](http://webchat.freenode.net/?channels=neo900) (***1 min*** normally but up to ***30 min*** because of an attack)  
    Note that IRC right now (summer 2018) has the ongoing spammer attack so you might need to register your
    nickname at freenode in order not to be muted.
    For prolonged use you might want to consider an IRC client (for example hexchat)
* Call and wait for Joerg-Neo900 to respond (***5min-few hours-1day***)
* Ask him for a permission to look at the current version of files (***1 min***)
* Send him and atk a Non-Disclosure-Agreement signed with your public key (***from 30 min to several hours***)  
    * It should oblige you to not leak the non-public contents of ee-full directory until the phone is out.  
    * For sending signed emails you can use a mailing service with IMAP protocol enabled (like gmail) and a
    mail client with ecryption enabled (like Sylpheed).
* Wait for a positive joerg response (***5min-few hours-1day***)
* Wait for atk (admin) to join in (***5min-few hours-1day***)
* Generate an ssh keypair and send a public key to atk (***5 min***)
* Wait for atk to do access rights management for you. At first you will have a read-only access (***10-30min***)
* Clone, make a branch and play with stuff (***whatever time you need***)
    * At the time of this contribution guide the latest branch is houkime/layout (you can look at the list of all branches using `git branch -a`)
    * In order to work with core files you need kicad5 or higher stable (it is generally not recommended to save to files if you're using devbuilds but realistically it might be ok most of the times.)
    * `.fods` files if present are plain xml libreoffice spreadsheets. 
    houkime's ones are related to component placement calculations and coordinate transforms between documents
    * `.fpd` files are footprint wizards made with fped.
    * Case and boards geometry data and stuff can be found [here](http://neo900.org/stuff/werner/scans/)
    * To measure stuff on .stl files from scans you might want to use [meme](http://neo900.org/git/misc/tree/meme)  
     Prerequisites: SDL 1.2, SDL_gfx, libsdl-pango-dev, libgsl  
     [Readme](http://neo900.org/git/misc/tree/meme/README)  
     
```
     git clone http://neo900.org/git/misc  
     cd misc/meme  
     make  
     ./meme /path/to/your.stl  
```
* Make an actual change you want in a clean local branch (***whatever time you need***)
* Wait for joerg to come by (***5min-few hours-1day***) 
* Wait for joerg permit a write access (***small talk time***) 
* Wait for atk to come by (***5min-few hours-1day***)
* Wait for atk to make a branch for you and give you a write access.(***5-30 min***)
* Push your commits (for example by calling `git push origin HEAD:your/remote/branchname` while at your local branch)